一、DBGrid+DBNavigator控件实现
直接在DBGrid表格中操作数据,增删改查,相当于直接在数据库可视化界面中操作数据,结果同步
界面创建:DBGrid(表格控件)、DBNavigator(操作表格控件) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228191407918.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NvbG9fMTEwOA==,size_16,color_FFFFFF,t_70) 连接数据库:ADOConnection(连接数据库),ADOQuery(查询数据库)、DataSource(数据源) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228191523131.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NvbG9fMTEwOA==,size_16,color_FFFFFF,t_70)
具体连接顺序
1、 ADOConnection控件中的ConnectionString属性中配置连接数据库的字符串,这里我使用的是Oracle数据库 2、ADOQuery配置连接ADOConnection,设置SQL语句,查询数据 3、DataSource连接ADOQuery,DBGrid连接DataSource,绑定数据源 4、设置完成之后,将ADOQuery控件中的Active属性值改为True,输入账号密码登录成功,可以看到表格中数据更新。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228193315566.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NvbG9fMTEwOA==,size_16,color_FFFFFF,t_70)
操作表格:直接在表格中操作或者操作DBNavigator控件 1、直接在表格中操作:双击表格中需要修改的单元格,修改,此处我将第一行对象的年龄改成100,可以看到数据库中数据同步修改。 2、DBNavigator控件绑定DataSoure,运行,点击控件中的按钮操作数据即可。
二、DBGrid+SQL代码实现
设置增删改查的按钮,对按钮的点击事件进行设置 按钮依次对应代码
//查询
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:='SELECT * FROM student where 1=1';
if Edit1.Text'' then
begin
s:=s+' and id= '+Edit1.Text;
end;
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(s);
Open;
end;
end;
//修改
procedure TForm1.Button2Click(Sender: TObject);
var
s:string;
begin
s:='update student set age=18 where id=1';
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(s);
ExecSQL;
queryAll();
end;
//增加
procedure TForm1.Button3Click(Sender: TObject);
var
s:string;
begin
s:='insert into student(id,sno,name,age,telephone) values(8,666,''哈哈哈'',18,333)';
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(s);
ExecSQL;
end;
queryAll();
end;
//删除
procedure TForm1.Button4Click(Sender: TObject);
var
s:string;
begin
s:='delete from student where name=''哈哈哈''';
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(s);
ExecSQL;
end;
queryAll();
end;
//查询函数
procedure queryAll();
var
s:string;
begin
s:='select * from student';
with Form1.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(s);
Open;
end;
end;
|